#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<getch.h>

int main(int avg,char* avgc[])
{
	if(avg!=3 && avgc[0]!="./cp")
	{
		return -1;
	}
	int src_fd=open(avgc[1],O_RDONLY);
	if(0>src_fd)
	{
		perror("open");
		return 0;
	}
	int dest_fd=open(avgc[2],O_WRONLY|O_CREAT|O_EXCL,0644);
	if(0>dest_fd)
	{
		printf("文件已存在是否覆盖？（y/n）\n");
		if('y'==getch())
		{
			dest_fd=open(avgc[2],O_WRONLY|O_TRUNC);
			if(0>dest_fd)
			{
				perror("open");
				return 0;
			}
		}
		else return 0;
	}
	char buf;
	while(1)
	{
		int count=read(fd1,&buf,1);
		write(fd2,&buf,1);
		if(count==0)
			break;
	}
}
